#ifndef MY_RENDER_RASTER
#define MY_RENDER_RASTER

#include "./screen.hpp"
#include "../matrix44.hpp"
#include "../object/world.hpp"
#include "../transformation/viewPort.hpp"
#include "../dot.hpp"
#include "../vector2.hpp"
#include <algorithm>


namespace drawer{
    // 光栅化的类，处理标准化的正方体中的内容，将其输出为屏幕像素
    class Raster{
        public:
        // 对点对象进行光栅化
        static void rasterizeDot(Screen& screen,object::World world);
        // 对彩色三角形对象进行光栅化,但是并没有进行Z-buffer
        static void rasterizeColorTriangle(Screen& screen,object::ColorWorld world);

        // 对彩色三角形目标进行光栅化，并且有进行Z-buffer算法，体现出深度
        static void rasterizeColorTriangleWithZBuffer(Screen& screen,object::ColorWorld world);
    };
}



#endif